מה זה MDM?
השאלה הראשונה שצריך לענות עליה היא בעצם מה זה Master Data (או בקיצור ממש נמרץ MD).
אנחנו קוראים Master Data לרשימות של נתונים שמשותפים לאפליקציות שונות שמרכיבות מערכת ארגונית שלמה, מערכות תפעוליות כמו גם מערכות BI, אנליזה, דוחות וכיו?ב. מדובר בעצם בטבלאות שמתארות ישויות כגון לקוחות, מוצרים ועובדים ושאינן מתארות טרנזקציות קצרות (הזמנה, מכירה, ייצור). ישויות אלה משתנות על ציר הזמן (slowly changing).
כשיש לנו רק אפליקציה אחת (CRM למשל), אנחנו צריכים לדאוג לעדכון נתוני הלקוחות כך שייצגו את מה שנכון בעולם האמיתי (לקוח שמשנה כתובת למשל) וגם לכך שלא יהיו לנו לקוחות כפולים במערכת, שהשם פרטי יוכנס בשדה של השם הפרטי ושם המשפחה בשדה של שם המשפחה, שכתובות יוכנסו בפורמט זהה ומנהלי הלקוחות יטרחו גם להכניס מיקוד.
הבעיה נעשית מורכבת הרבה יותר כשיש כמה מערכות שצריך לסנכרן ביניהן את אותם הנתונים. השמירה על הקלישאה של ?אמת אחת? בארגון נעשית קשה ומסובכת - ובינינו, מי לא נשאר ימים ולילות כדי לגרום לדוחות להראות את אותם מספרים כשמסתכלים עליהם מכמה כיוונים שונים.
אם ננסה לענות על השאלה למעלה, אז MDM זה בעצם שורה של תהליכים וכלים שעוזרים להגדיר ולנהל את אותן רשימות מידע, ולשמור על אותם נתונים מהימנים ומתוקפים. הבעיות שבפניהן אנו עומדים וה-MDM בא לפתור הן:
1. Decay - המציאות שהנתונים מתארים משתנה, והנתונים לא מתעדכנים ביחד איתה. לדוגמא, מעבר דירה של לקוח.
2. Conflict - נתון כפול (במלואו או בחלקו) נכנס למערכת. איזה מהנתונים הוא הנכון? לדוגמא, שני חלקים זהים שמיוצרים במפעלים שונים מקבלים מק?ט שונה.
3. Corruption - כאשר נתון נכון ובדוק משתנה באופן שהופך אותו ללא תקף ולא נכון. יכול לקרות למשל כאשר מישהו שוכח נקודה עשרונית בהזנת מחיר חדש למוצר.
4. Inconsistency - פשוט ככה, חוסר קונסיסטנטיות, לדוגמא בפורמט של כתובת, בשמות מוצרים וכד?.
אוקיי... הבנתי את הצורך. למה שאני לא אפתח אחד כזה?
ביוני 2007 מיקרוסופט רכשו את חברת Stratature שפיתחה את אחד המוצרים המובילים ל-MDM. שנתיים אחרי יוצא CTP ל-MDM של מיקרוסופט. כמה זמן יקח לך לכתוב אחד כזה?
איך זה עובד?
פרויקט MDM כולל את השלבים הבאים:
1. זיהוי מקורות ה-Master Data (כלומר, בכמה בסיסי נתונים שמורים השמות של הלקוחות שלי לעזאזל)
2. זיהוי יצרני וצרכני ה-Master Data (או בכמה תוכנות אנחנו משתמשים בארגון הזה כדי להפיק הזמנות וחשבוניות, לנהל את המחסן וכו?)
3. איסוף וניתוח מטא-דטא לגבי ה-Master Data בכל אחד מהמקורות. באיזה ישויות מדובר, אילו תכונות שמורות עבור כל ישות, מה הם שמות התכונות של הישות, באיזה טיפוסי נתונים משתמשים, אילו אילוצים חלים על כל תכונה, ערכי ברירת מחדל, קשרים והיררכיות ומי אחראי על ההגדרות האלה (על טעויות משלמים, כל כלב בא יומו וכיו?ב).
4. מינוי אחראים ל-Master Data (סביר להניח שלא אותו אדם יהיה אחראי גם ל-MD של המוצרים וגם ל-MD של הלקוחות)
5. קבלת החלטות ויישום תוכנית לפיקוח על ה-Master Data: כיצד מתחזקים את ה-MD, מה הוא מכיל, לכמה זמן הוא נשמר, כיצד מאשרים שינויים בו, כיצד שומרים מידע על השינויים בו.
6. פיתוח מודל ה-Master Data. מיפוי התכונות שנכנסות ל-MD, טיפוסי נתונים, קשרים, אילוצים והקשרים בין ה-MD למקורות ה-MD שזיהינו בשלב (1). זה החלק הקשה והמעניין ביותר בפרויקט והוא לא שווה כלום אם אין צעקות, מכות, תלישת שערות ו-catfights לאורך כל השלב הזה בין כל מי שאי פעם זומן לפגישה בנושא ?פרויקט MDM?.
7. בחירת כלים לבניית רשימות ה-MD ע?י ניקוי ומיזוג הרשימות מכלל המערכות. לכל סוג נתונים יש כלים משלו כמו Customer Data Integration ו-Product Information Management.
8. תכנון התשתית לניהול, שמירה ואספקת ה-Master Data.
9. יצירת ה-MD ובדיקה שלו.
10. שינוי יצרני וצרכני ה-MD על מנת שיתקשרו עם מערכת ה-MDM כאשר הם יוצרים או צורכים מידע.
11. יישום תהליכי תחזוקה של ה-MD - מדובר בליבה של ה-MDM - בניית תהליכים וכלים ששומרים על המהימנות והתקינות של הנתונים.
?
איפה MDS של מיקרוסופט נכנס בסיפור הזה?
אלה הם הפיצ?רים העיקריים:
? כלי ניהול מרכזי לישויות ה-MD המספק גישה מבוססת הרשאות לנתונים.
? מודל נתונים גמיש מבוסס מטא-דטא הניתן לשינוי ע?י מנהלי הנתונים.
? מנוע חוקים עסקיים לוידוא איכות הנתונים הנכנסים למערכת
? workflow שמיידע את האחראים למידע על הפרות של חוקים שהגדרנו.
? ניהול גרסאות של כל הישויות וההיררכיות.
? מודל הרשאות גמיש מבוסס על Active Directory
? אינטגרציה עם מערכות Microsoft אחרות (PerformancePoint, Dynamics, Sharepoint, Excel), גישה באמצעות Web Services או באמצעות Views של SQL Server.
?
אם מעניין אתכם להציץ ולהפגע, עוד כמה חודשים נוכל להוריד CTP ל-SQL Server 2008 R2. עד אז מומלץ לקרוא עוד על הנושא כאן:
http://www.microsoft.com/sqlserver/2008/en/us/mds.aspx
http://msdn.microsoft.com/en-us/library/bb190163.aspx
http://blogs.technet.com/dataplatforminsider/archive/2009/05/13/master-data-services-what-s-the-big-deal.aspx
השאלה הראשונה שצריך לענות עליה היא בעצם מה זה Master Data (או בקיצור ממש נמרץ MD).
אנחנו קוראים Master Data לרשימות של נתונים שמשותפים לאפליקציות שונות שמרכיבות מערכת ארגונית שלמה, מערכות תפעוליות כמו גם מערכות BI, אנליזה, דוחות וכיו?ב. מדובר בעצם בטבלאות שמתארות ישויות כגון לקוחות, מוצרים ועובדים ושאינן מתארות טרנזקציות קצרות (הזמנה, מכירה, ייצור). ישויות אלה משתנות על ציר הזמן (slowly changing).
כשיש לנו רק אפליקציה אחת (CRM למשל), אנחנו צריכים לדאוג לעדכון נתוני הלקוחות כך שייצגו את מה שנכון בעולם האמיתי (לקוח שמשנה כתובת למשל) וגם לכך שלא יהיו לנו לקוחות כפולים במערכת, שהשם פרטי יוכנס בשדה של השם הפרטי ושם המשפחה בשדה של שם המשפחה, שכתובות יוכנסו בפורמט זהה ומנהלי הלקוחות יטרחו גם להכניס מיקוד.
הבעיה נעשית מורכבת הרבה יותר כשיש כמה מערכות שצריך לסנכרן ביניהן את אותם הנתונים. השמירה על הקלישאה של ?אמת אחת? בארגון נעשית קשה ומסובכת - ובינינו, מי לא נשאר ימים ולילות כדי לגרום לדוחות להראות את אותם מספרים כשמסתכלים עליהם מכמה כיוונים שונים.
אם ננסה לענות על השאלה למעלה, אז MDM זה בעצם שורה של תהליכים וכלים שעוזרים להגדיר ולנהל את אותן רשימות מידע, ולשמור על אותם נתונים מהימנים ומתוקפים. הבעיות שבפניהן אנו עומדים וה-MDM בא לפתור הן:
1. Decay - המציאות שהנתונים מתארים משתנה, והנתונים לא מתעדכנים ביחד איתה. לדוגמא, מעבר דירה של לקוח.
2. Conflict - נתון כפול (במלואו או בחלקו) נכנס למערכת. איזה מהנתונים הוא הנכון? לדוגמא, שני חלקים זהים שמיוצרים במפעלים שונים מקבלים מק?ט שונה.
3. Corruption - כאשר נתון נכון ובדוק משתנה באופן שהופך אותו ללא תקף ולא נכון. יכול לקרות למשל כאשר מישהו שוכח נקודה עשרונית בהזנת מחיר חדש למוצר.
4. Inconsistency - פשוט ככה, חוסר קונסיסטנטיות, לדוגמא בפורמט של כתובת, בשמות מוצרים וכד?.
אוקיי... הבנתי את הצורך. למה שאני לא אפתח אחד כזה?
ביוני 2007 מיקרוסופט רכשו את חברת Stratature שפיתחה את אחד המוצרים המובילים ל-MDM. שנתיים אחרי יוצא CTP ל-MDM של מיקרוסופט. כמה זמן יקח לך לכתוב אחד כזה?
איך זה עובד?
פרויקט MDM כולל את השלבים הבאים:
1. זיהוי מקורות ה-Master Data (כלומר, בכמה בסיסי נתונים שמורים השמות של הלקוחות שלי לעזאזל)
2. זיהוי יצרני וצרכני ה-Master Data (או בכמה תוכנות אנחנו משתמשים בארגון הזה כדי להפיק הזמנות וחשבוניות, לנהל את המחסן וכו?)
3. איסוף וניתוח מטא-דטא לגבי ה-Master Data בכל אחד מהמקורות. באיזה ישויות מדובר, אילו תכונות שמורות עבור כל ישות, מה הם שמות התכונות של הישות, באיזה טיפוסי נתונים משתמשים, אילו אילוצים חלים על כל תכונה, ערכי ברירת מחדל, קשרים והיררכיות ומי אחראי על ההגדרות האלה (על טעויות משלמים, כל כלב בא יומו וכיו?ב).
4. מינוי אחראים ל-Master Data (סביר להניח שלא אותו אדם יהיה אחראי גם ל-MD של המוצרים וגם ל-MD של הלקוחות)
5. קבלת החלטות ויישום תוכנית לפיקוח על ה-Master Data: כיצד מתחזקים את ה-MD, מה הוא מכיל, לכמה זמן הוא נשמר, כיצד מאשרים שינויים בו, כיצד שומרים מידע על השינויים בו.
6. פיתוח מודל ה-Master Data. מיפוי התכונות שנכנסות ל-MD, טיפוסי נתונים, קשרים, אילוצים והקשרים בין ה-MD למקורות ה-MD שזיהינו בשלב (1). זה החלק הקשה והמעניין ביותר בפרויקט והוא לא שווה כלום אם אין צעקות, מכות, תלישת שערות ו-catfights לאורך כל השלב הזה בין כל מי שאי פעם זומן לפגישה בנושא ?פרויקט MDM?.
7. בחירת כלים לבניית רשימות ה-MD ע?י ניקוי ומיזוג הרשימות מכלל המערכות. לכל סוג נתונים יש כלים משלו כמו Customer Data Integration ו-Product Information Management.
8. תכנון התשתית לניהול, שמירה ואספקת ה-Master Data.
9. יצירת ה-MD ובדיקה שלו.
10. שינוי יצרני וצרכני ה-MD על מנת שיתקשרו עם מערכת ה-MDM כאשר הם יוצרים או צורכים מידע.
11. יישום תהליכי תחזוקה של ה-MD - מדובר בליבה של ה-MDM - בניית תהליכים וכלים ששומרים על המהימנות והתקינות של הנתונים.
?
איפה MDS של מיקרוסופט נכנס בסיפור הזה?
אלה הם הפיצ?רים העיקריים:
? כלי ניהול מרכזי לישויות ה-MD המספק גישה מבוססת הרשאות לנתונים.
? מודל נתונים גמיש מבוסס מטא-דטא הניתן לשינוי ע?י מנהלי הנתונים.
? מנוע חוקים עסקיים לוידוא איכות הנתונים הנכנסים למערכת
? workflow שמיידע את האחראים למידע על הפרות של חוקים שהגדרנו.
? ניהול גרסאות של כל הישויות וההיררכיות.
? מודל הרשאות גמיש מבוסס על Active Directory
? אינטגרציה עם מערכות Microsoft אחרות (PerformancePoint, Dynamics, Sharepoint, Excel), גישה באמצעות Web Services או באמצעות Views של SQL Server.
?
אם מעניין אתכם להציץ ולהפגע, עוד כמה חודשים נוכל להוריד CTP ל-SQL Server 2008 R2. עד אז מומלץ לקרוא עוד על הנושא כאן:
http://www.microsoft.com/sqlserver/2008/en/us/mds.aspx
http://msdn.microsoft.com/en-us/library/bb190163.aspx
http://blogs.technet.com/dataplatforminsider/archive/2009/05/13/master-data-services-what-s-the-big-deal.aspx
שחר בר
חברת ואלינור
http://www.valinor.co.il
http://www.sqlserver.co.il
LinkedIn - SQLServer Valinor
חברת ואלינור
http://www.valinor.co.il
http://www.sqlserver.co.il
LinkedIn - SQLServer Valinor